'''
----登录函数----
编写一个用户登录逻辑，用户名密码提前设置（列表嵌套字典存储），返回用户登录成功或者失败的结果。
要求：
	封装程函数，登录成功返回1，登录失败返回0；
'''


# user1 = {'username': '1001', 'pwd': '123'}
# user2 = {'username': '1002', 'pwd': '123'}
# user3 = {'username': '1003', 'pwd': '123'}
# user_list = [user1, user2, user3]
# def assert():
#     '''
#     return  1登录成功  0登陆失败
#     '''
#     tag = 0
#     name = input('请输入账号：')
#     pwdd = input('请输入密码：')
#     for user in user_list:
#         if name == user['username'] and pwdd == user['pwd']:
#             tag = 1
#             break
#     if tag == 1:
#         return 1
#     else:
#         return 0
# print (assert())

# def jj(a, b):  # a, b 形式参数
#     """
#         :param a: 第1个参数是干什么的...
#         :param b: 第1个参数是干什么的...
#         """
#     if a >= b:
#
#         print(f'{a}较大的值')
#     else:
#         print(f'{b}较大的值')
#
# # 位置参数传参：函数参数较少时，建议使用位置传参
# jj(5, 9)  # 5，9 实际参数
# # 关键字参数传参：函数参数较多时，建议使用位置传参
# jj(b=66, a=55)

#
# def jj(a, b, c='ffff'):  # a, b 形式参数
#     """
#         :param a: 第1个参数是干什么的...
#         :param b: 第1个参数是干什么的...
#         """
#     if a >= b:
#
#         print(f'{a}较大的值')
#     else:
#         print(f'{b}较大的值')
#     print(f'{c}的值是：')
# # 默认值参数传参：函数参数较多时，设置默认值参数，可以简化调用
# jj(22, 11)

'''
----商超管理系统（容器版）----
项目需求：
系统需要用户先登录，再进行操作，其中包含一下功能菜单：
1.显示商品列表
2.增加商品
3.删除商品
4.设置折扣
5.修改价格
6.按价格排序（升序、降序
7.退出
  a.	使用列表嵌套字典的方式保存用户数据（包含用户名，密码，姓名）；
  b.	使用列表嵌套字典的方式保存商品数据（包含编号，名称，价格，折扣）；
  c.	编写用户登录的函数，返回登录结果；
  d.	循环提示菜单，业务完毕时返回主菜单，退出时回到登陆页面；
  e.	将功能菜单中的业务功能各自编写到函数中；
  f.	用户选择不同业务编号时，调用已经写好的各种函数。
'''
user_data1 = {'username': '1001', 'password': '123', 'name': 'Tom'}
user_data2 = {'username': '1002', 'password': '123', 'name': 'Jack'}
user_data3 = {'username': '1003', 'password': '123', 'name': 'Mary'}
user_data_list=[user_data1, user_data2, user_data3]
product_data1 = {'id': '1001', 'name': '牛奶', 'price': '5.0', 'discount': '0.8'}
product_data2 = {'id': '1002', 'name': '面包', 'price': '3.0', 'discount': '0.6'}
product_data3 = {'id': '1003', 'name': '三明治', 'price': '8.0', 'discount': '0.7'}
product_data_list = [product_data1, product_data2, product_data3]
#封装登录
def login():
    tag = 0
    u_name = input('请输入用户名：')
    u_pwd = input('请输入密码：')
    for user in user_data_list:
        if u_name == user['username'] and u_pwd == user['password']:
            tag = 1  # 登录成功
            break
    if tag == 1:
        print('登录成功')
        return 1  # 返回登录成功标志
    else:
        print('用户名或密码错误')
        return 0
#展示商品面板
def show_productes():
    print('-----------圆圆圆的百货商店--------------')
    for product in product_data_list:
        print(f"编号: {product['id']}, 名称: {product['name']}, "
              f"价格: {product['price']}, 折扣: {product['discount']}")
# 增加商品
def add_produce():
    id_list = []
    for product in product_data_list:
        id_list.append(int(product['id']))
    id = str(max(id_list)+1)
    name = input('请输入商品名称')
    price = input('请输入商品价格')
    discount = input('请输入商品折扣')
    product_data_list.append({'id': id, 'name': name, 'price': price, 'discount': discount})
    show_productes()
# 删除商品
def del_product():
    id = input('请输入商品编号')
    for product in product_data_list:
        if id ==product['id']:
            product_data_list.remove(product)
            print(f'商品编号为{id}的商品已删除')
            break
# 设置折扣
def set_discount():
    id = input('请输入要设置折扣的商品编号')
    discount = input('请输入设置的折扣：')
    for product in product_data_list:
        if id == product['id']:
            product['discount'] = discount
            print(f'编号为{id}的商品折扣已设置为{discount}')
            break
# 修改价格
def mod_discount():
    id = input('请输入要修改的商品编号')
    for product in product_data_list:
        if id == product['id']:
            name = input('请输入新商品的名称:')
            price = input('请输入新商品的价格:')
            product['name'] = name
            product['price'] = price
            print(f'编号为{id}的商品信息已修改')
            break
        else:
            print('未找到对应编号')
# 按价格排序
def sort_discount():
    choice = input('请选择排序方式：1.升序、2.倒序:')
    if choice == '1':
        product_data_list.sort(key=lambda x: x['price'])
    elif choice == '2':
        product_data_list.sort(key=lambda x: x['price'], reverse=True)
    else:
        print('请选择正确的排序方式')
    show_productes()
# 展示功能面板
def print_menu():
    print('-------欢迎光临圆圆圆的百货商店，祝您购物愉快-------')
    print('                 1.显示商品列表')
    print('                 2.增加商品')
    print('                 3.删除商品')
    print('                 4.设置折扣')
    print('                 5.修改价格')
    print('                 6.按价格排序（升序、降序')
    print('                 7.退出')
def main_menu():
    r = login()
    if r == 1:
        while True:
            print_menu()
            choice = input('请输入你的选择：')
            if choice == '1':
                show_productes()
            elif choice == '2':
                add_produce()
            elif choice == '3':
                del_product()
            elif choice == '4':
                set_discount()
            elif choice == '5':
                mod_discount()
            elif choice == '6':
                sort_discount()
            elif choice == '7':
                print('欢迎下次光临')
                return
            else:
                print('输入有误，请重新输入')
    else:
        print('登陆失败，请重新登录')
main_menu()


# ----学生管理系统（容器版）----
# 使用自定义函数，完成对程序的模块化
# 学生信息包含：学号、姓名、性别、手机号
# 该系统具有的功能：添加、删除、修改、显示、退出系统
# 设计思路：
# 	提示用户选择功操作
# 	获取用户选择的功能
# 	根据用户的选择，分别调用不同的函数
# 	新增：学号：自动生成
# 	删除：根据输入的学号删除信息
# 	修改：根据输入的学号修改信息
# stu1 = {'id': '1001', 'username': 'tom', 'sex': '男', 'iphone': '12345676'}
# stu2 = {'id': '1002', 'username': 'jack', 'sex': '女', 'iphone': '13453343'}
# stu3 = {'id': '1003', 'username': 'mary', 'sex': '女', 'iphone': '1654654'}
# stu4 = {'id': '1004', 'username': 'cidy', 'sex': '男', 'iphone': '1345346'}
# stu_list = [stu1, stu2, stu3, stu4]
# def assert():
#     tag =0
#     stu_id = input('请输入学号：')
#     name = input('请输入姓名：')
#     for stu in stu_list :
#         if stu_id == stu['id'] and name == stu['username']:
#             tag = 1
#             break
#     if tag == 1:
#         return 1
#     else:
#         return 0
# def add_student():
#     id =input('请输入学生学号：')
#     username = input('请输入学生姓名：')
#     sex = input('请输入学生性别：')
#     iphone = input('请输入学生手机号：')
#     stu_list.append({'id': id, 'username': username, 'sex': sex, 'iphone': iphone})
# def del_student():
#     id =input('请输入学生学号：')
#     for stu in stu_list:
#         if id ==stu['id']:
#             stu_list.remove(stu)
#             print(f'学号为{id}的学生信息已删除')
#             break
#
# def mod_student():
#     id = input('请输入需要修改的学生学号：')
#     for stu in stu_list:
#         if id == stu['id']:
#             id = input('请输入新的学生学号：')
#             username = input('请输入新的学生姓名：')
#             sex = input('请输入新的学生性别：')
#             iphone = input('请输入新的学生手机号：')
#             stu['username'] = username
#             stu['sex'] = sex
#             stu['iphone'] = iphone
#             print(f'学号为{id}的学生信息已修改')
# def show_student():
#     for stu in stu_list:
#         print(f'学号:{stu["id"]}, 姓名：{stu["username"]}, '
#               f'性别：{stu["sex"]}, 手机号：{stu["iphone"]}')
# def print_m():
#     print('学生信息管理系统')
#     print('1.添加学生信息')
#     print('2.删除学生信息')
#     print('3.修改学生信息')
#     print('4.显示学生信息')
#     print('5.退出系统')
# def stu_menu():
#     pass




























